循环嵌套与循环控制 通过循环语句, 我们可以实现代码的重复执行。 这个视频将进一步介绍python里的循环嵌套和循环控制。 单独使用for 循环或while循环的单循环语句, 往往无法解决复杂问题, 要解决类似于工作要做很多遍。 而每一遍工作都需要重复做一些事情。 这样的问题就要用到多重循环及循环嵌套。 我们以书本上问题的第一个子问题为例, 要购买单价分别为1.8元的笔记本, 1.9元的笔,2.1元的小饰品, 每一种物品至少买100件, 并且尽可能的用完1000元经费。 如何设计方案才能实现购买物品数量最多呢? 问题可以转换为一条数学表达式, 我们设笔记本数量为x 比的数量为y 小, 饰品的数量为z, 于是就有1.8x加1.9y加2.1z小于等于1000。 在所有符合这条式子的x y 已在组合中找到x y e z 之和最大的就是问题的解。 根据问题描述, 三种物品每样至少买100件呃, 三种加起来不超过1000件。 我们可以估算出x y 以下三个变量的变化范围。 例如x 假设上面是指中y e c 都是0。 那么x 的最大值就是1000除以x 的价格1.8。 得到556。 同样的y 和excel 的值也可以用类似的方法计算出来。 这个问题书本给出了完整的参考程序, 我们一起来分析。 打开配套学习资源包第四章程序4-7。 从程序的核心代码, 我们可以看到这里使用了三个循环语句。 第一个循环语句是没取x 的变化范围。 第二个循环语句是枚举y 的循环变化范围。 第三个循环语句是媒体excel 的变化范围。 然后再判断一下这三种物品它们的总价是否小于等于1000。 如果这个条件成立。 那么再判断一下这三种物品加起来的总数量 是否比已知的最大数量还要大。 如果符合的话, 那么我们就记录下来, 否则做相应的处理的。 将三种物品所有可能都没举完以后。 最优解就可以求出来了。 然后呢,再将结果输出来。 从核心代码我们可以看到 这里使用了三个循环语句 而。 第二个for 语句, 相对于第一个for 语句有一个缩句。 也就是第二个后语句。 是第一个复语句嵌套的一个循环语句。 同样的第三个for 语句。 它也相对于第二个for语句有一个缩进。 也就是第三个for 语句, 相对于第二个for 语句是一个嵌套的一个循环。 于是我们可以看到 这一段代码实际上是使用了三重循环嵌套。 其实for循环和while循环之间也是可以相互嵌套的。 这一段代码就是两个for循环的嵌套。 呃,这一段代码只是一个while循环和一个for循环的嵌套。 这段代码是一个for循环和一个while循环的嵌套。 接下来我们看看循环控制。 在前面的学习中, 我们已经知道for循环是按指定枚举范围进行循环的, 而while循环则未通过判断表达式的结果确定是否继续循环。 如果我们希望在循环过程中控制循环的跳转, 就需要用到循环控制语句。 python里面的循环控制有2个, 一个是break 语句, 它可以跳出当前循环体中断循环。 一个是continue 语句, 它会跳过本次循环后面的语句, 回到循环开头的条件测试语句。 我们看看具体的代码。 这一段代码是用或语句每举0到9的平方数, 并把它输出来。 我们先运行一下,看一下效果。 从输出来看,0到9的平方数都输出来了。 接下来我们在代码里加入如下语句。 if 。 谭。 等于。 嗯。 break 。 再运行测试一下。 好。 这个时候我们可以看到输出的结果是从0到4。 就结束了。 实际上刚才我们加的两行代码, 它的意思是当i 等于5的时候跳出循环, 也就是终止循环。 所以循环去到4后面就停止了。 接下来我们改一下代码, 把break改成continue 。 再运行。 这个时候我们可以看到输出0到9的平方数。 但是中间少了一个5的平方。 去到四的平方。 然后就到6的平方。 可以知道代码中continue 的作用, 就是当条件成立的时候。 他跳过当前循环后面的语句。 但是他并没有退出整个循环, 而是回到循环的判断部分。 根据循环判断,完成剩下的循环内容。 这就是continue 和black 语句的区别。 接下来我们回顾一下。 循环嵌套,是python语言在处理复杂问题的时候 可以使用的方法for循环或者while循环 之间都可以相互嵌套。 而循环控制则是更灵活实现循环内跳转的方法。 python语言里有break 语句和continue 语句两种循环控制 在后面的学习中, 我们需要灵活的使用循环嵌套和循环控制。 以上就是python的循环嵌套与循环控制。 可以帮我们的程序更有效的解决问题。